<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page pageEncoding="UTF-8" %>
<%@ include file="../common/common.jsp"%>
<%@ page import="jp.co.technotree.apl.api.common.Message,jp.co.technotree.common.ApplicationManager" %>
<%@ page import="jp.co.technotree.apl.cmd.master.Mst5000Bean,jp.co.technotree.apl.api.common.GlobalConst;" %>
<jsp:useBean id="formBean" class="jp.co.technotree.apl.cmd.master.Mst5000Bean" scope="request" />
<%
	String strOutputCate = formBean.getOutputCate();	//1=新規モード 2=変更モード
%>
<html>
	<head>
		<title>予備品管理システム - ユーザー情報メンテナンス画面</title>
		<link rel="SHORTCUT ICON" href="../common/img/default/sys_icon.ico">

		<link rel='stylesheet' type='text/css' href='../../common/css/common/base.css' >
		<link rel='stylesheet' type='text/css' href='../../common/css/common/common.css'>
		<link rel='stylesheet' type='text/css' href='../../common/css/master/mst5000.css'>

		<script language="javascript" src="../../common/js/base.js"></script>
		<script language="javascript" src="../../common/js/menu/topmenu.js"></script>

		<!--ポップアップ用-->
		<link rel='stylesheet' type='text/css' href='../../common/css/popUpPc.css' >
		<script type='text/javascript' src='../../common/js/popUpPc.js'></script>

		<!-- システムログ -->
		<script src="../../common/js/systemlog.js"></script>

			<style type='text/css'>
				.LinkItem {
					cursor: pointer;
				}
				.ReadStyle{
					 background-color:#CCC;
				}
				.txtmode1 {
 					 ime-mode: active;   /* 全角モード */
				}
				.txtmode2 {
  					ime-mode: inactive; /* 半角モード */
				}
				.txtmode3 {
  					ime-mode: disabled; /* 半角のみモード */
				}
			</style>

		<script language="javascript">
			function onInit(){
				//処理完了後、メッセーを出してメイン画面に遷移
				var stateFlg = "<%=formBean.getStateFlg()%>";

				var afterFunc="nextPageJump('mst4000');"
				if(stateFlg == "1"){
					//登録処理を正常に完了しました
					alert_Info2("<%=Message.getMessage("INF00030").replace("$1", "ユーザー情報")%>",afterFunc);
				}

				if(stateFlg == "2"){
					//変更処理を正常に完了しました
					alert_Info2("<%=Message.getMessage("INF00040").replace("$1", "ユーザー情報")%>",afterFunc);
				}
				//topBackChange(0);
				//httpRequest();
			}

			function nextPageJump(nextPage){

				mainForm = document.getElementById("F1");
				document.getElementById("nextPage").value = nextPage;

				mainForm.submit();
			}

			//戻るボタン押下
			function screen_back(){
				var changeFlg = changeCheck();
				if(changeFlg=="1"){
					//発注処理を中止します。よろしいですか？
					var afterFunc="yesScreen_back();"
					if (!confirm_Custom3("<%=Message.getMessage("INF01040").replace("$1", "ユーザー情報メンテナンス処理")%>",afterFunc)){
						return ;
					}
				}else{
					nextPageJump("mst4000");
				}
			}
			function yesScreen_back(){
				nextPageJump("mst4000");
			}
			//編集を行ったかチェック
			//return:0=変更なし 1=変更あり
			function changeCheck() {
				var frm=document.main;
				var changeFlg = "0";


				obj=frm["usrId"]; if (obj.defaultValue != obj.value) {changeFlg="1";}
				obj=frm["usrNm"]; if (obj.defaultValue != obj.value) {changeFlg="1";}
				obj=frm["seq"]; if (obj.defaultValue != obj.value) {changeFlg="1";}
				obj=frm["pwd"]; if (obj.defaultValue != obj.value) {changeFlg="1";}
				//セレクトボックスのチェック
				obj=frm["class1"]; if (obj.options[obj.selectedIndex].defaultSelected == false) {changeFlg="1";}
				obj=frm["adminDiv"]; if (obj.options[obj.selectedIndex].defaultSelected == false) {changeFlg="1";}
				return changeFlg;
			}

			function insertBtn(){
				validCheck("1");
				orderBtnExe("1");
			}
			function updateBtn(){
				validCheck("2");
				updateDtCheck("2");
			}

			//並び順補正
			function correctSeq(){
				var inputSeq = document.getElementById("seq").value;
				var intSeq = parseFloat(inputSeq);
				var StrSeq = "";

				if(inputSeq != ""){
					if (intSeq <= 9999999){
						StrSeq =String(intSeq);
						StrSeq = "0000000" + StrSeq;
						StrSeq = StrSeq.substring(StrSeq.length - 7, StrSeq.length);
					}else if(intSeq > 9999999){
						//並び順の上限越え(桁数チェック)
						alert_Custom("<%=Message.getMessage("WRN01300").replace("$1", "7")%>");
					}else{
						//基準をどこに持つか確認(繰上処理があるため)
						alert_Custom("<%=Message.getMessage("WRN00020").replace("$1", "並び順")%>");
					}
					document.getElementById("seq").value = StrSeq;
				}
			}

			//入力チェックによる背景色を付ける
			function validCheck(btnCate){
				mainForm = document.getElementById("F1");

				var delDivObj = document.getElementById("delDiv") 		//削除フラグ

				var usrId  =  document.getElementById("usrId"); 			//従業員コード
				var usrNm = document.getElementById("usrNm"); 			//従業員名
				var seq = document.getElementById("seq");					//並び順
				var pwd = document.getElementById("pwd");					//パスワード
				var class1  =  document.getElementById("class1");  		//組
				var adminDiv  =  document.getElementById("adminDiv");  	//区分

				//============
				//背景色解除
				//============
				if(btnCate=="1"){
					usrId.style.backgroundColor = 'white';
				}
				usrNm.style.backgroundColor = 'white';
				seq.style.backgroundColor = 'white';
				pwd.style.backgroundColor = 'white';
				class1.style.backgroundColor = 'white';
				adminDiv.style.backgroundColor = 'white';
				
				//============
				//背景色設定
				//============
				if(btnCate=="1"){
					//新規登録
					//入力チェック-----------------------------------------------------------------start
					if(usrId.value ==""){
						usrId.style.backgroundColor = 'pink';
					}
					//ユーザMから存在チェック
					if(!UsrCheck(btnCate)){
						usrId.style.backgroundColor = 'pink';
					}
					if(delDivObj.checked){
						//delDivObj.style.backgroundColor = 'pink';
					}
					if(usrNm.value ==""){
						usrNm.style.backgroundColor = 'pink';
					}
					if(seq.value !=""){
						//ユーザMから並び順の存在チェック
						if(!UsrCheckSeq(btnCate)){
							seq.style.backgroundColor = 'pink';
						}
					}else{
						//ユーザMからの並び順上限値チェック
						if(!UsrUpperCheckSeq(btnCate)){
							seq.style.backgroundColor = 'pink';
						}
					}
					if(pwd.value ==""){
						pwd.style.backgroundColor = 'pink';
					}
					if(class1.value ==""){
						class1.style.backgroundColor = 'pink';
					}
					if(adminDiv.value ==""){
						adminDiv.style.backgroundColor = 'pink';
					}
					
					//入力チェック-------------------------------------------------------------------------end
				}else{
					//編集
					//入力チェック-----------------------------------------------------------------start
					if(usrNm.value ==""){
						usrNm.style.backgroundColor = 'pink';
					}
					//ユーザMから並び順の存在チェック
					if(seq.value !=""){
						//ユーザMから並び順の存在チェック
						if(!UsrCheckSeq(btnCate)){
							seq.style.backgroundColor = 'pink';
						}
					}
					if(class1.value ==""){
						class1.style.backgroundColor = 'pink';
					}
					if(adminDiv.value ==""){
						adminDiv.style.backgroundColor = 'pink';
					}

					//入力チェック-------------------------------------------------------------------------end
				}
			}
			//「登録」実行
			//引数1:btnCate=1:登録 2:編集
			function orderBtnExe(btnCate){
				mainForm = document.getElementById("F1");

				var delDivObj = document.getElementById("delDiv") 		//削除フラグ

				var usrId  =  document.getElementById("usrId").value; 			//従業員コード
				var usrNm = document.getElementById("usrNm").value; 			//従業員名
				var seq = document.getElementById("seq").value;					//並び順
				var pwd = document.getElementById("pwd").value;					//パスワード
				var class1  =  document.getElementById("class1").value;  		//組
				var adminDiv  =  document.getElementById("adminDiv").value;  	//区分

				if(btnCate=="1"){
					//新規登録
					//入力チェック-----------------------------------------------------------------start
					if(usrId ==""){
						alert_Custom("<%=Message.getMessage("WRN00010").replace("$1", "従業員コード")%>");
						return ;
					//ユーザMから存在チェック
					}else if(!UsrCheck(btnCate)){
						return ;
					}else if(usrNm ==""){
						alert_Custom("<%=Message.getMessage("WRN00010").replace("$1", "従業員名")%>");
						return ;
					}
					if(seq !=""){
						//ユーザMから並び順の存在チェック
						if(!UsrCheckSeq(btnCate)){
							return ;
						}
					}else{
						//ユーザMからの並び順上限値チェック
						if(!UsrUpperCheckSeq(btnCate)){
							return;
						}
					}
					if(pwd ==""){
						alert_Custom("<%=Message.getMessage("WRN00010").replace("$1", "パスワード")%>");
						return ;
					}else if(class1 ==""){
						alert_Custom("<%=Message.getMessage("WRN00010").replace("$1", "組")%>");
						return ;
					}else if(adminDiv ==""){
						alert_Custom("<%=Message.getMessage("WRN00010").replace("$1", "区分")%>");
						return ;
					}else if(delDivObj.checked){
						alert_Custom("<%=Message.getMessage("WRN00140")%>");
						return ;
					//入力チェック-----------------------------------------------------------------end
					}else{

						var afterFunc="yesOrderBtn();"
						if (!confirm_Custom3("<%=Message.getMessage("INF01060").replace("$1","ユーザー情報")%>",afterFunc)){
							return ;
						}
					}
				}else{
					//編集
					//入力チェック-----------------------------------------------------------------start
					if(usrNm ==""){
						alert_Custom("<%=Message.getMessage("WRN00010").replace("$1", "従業員名")%>");
						return ;
					}
					//ユーザMから並び順の存在チェック
					if(seq !=""){
						//ユーザMから並び順の存在チェック
						if(!UsrCheckSeq(btnCate)){
							return ;
						}
					}
					if(class1 ==""){
						alert_Custom("<%=Message.getMessage("WRN00010").replace("$1", "組")%>");
						return ;
					}else if(adminDiv ==""){
						alert_Custom("<%=Message.getMessage("WRN00010").replace("$1", "区分")%>");
						return ;
					}
					//入力チェック-----------------------------------------------------------------end
					var afterFunc="yesUpdateBtn();"
					if (!confirm_Custom3("<%=Message.getMessage("INF01070").replace("$1","ユーザー情報")%>",afterFunc)){
						return ;
					}

				}

			}

			//「はい」を押された時
			function yesOrderBtn(){
				document.getElementById("orderExe").value = "1";
				mainForm = document.getElementById("F1");
				mainForm.submit();
			}

			//「はい」を押された時
			function yesUpdateBtn(){
				document.getElementById("updateExe").value = "1";
				mainForm = document.getElementById("F1");
				mainForm.submit();
			}

			//*************************************************
			//AJAX 部分(予備品Mから存在チェック)
			//*************************************************
			function UsrCheck(btnCate){


				var findUsrId = document.getElementById("usrId").value;

				xmlHttp = new XMLHttpRequest();
				//xmlHttp.onreadystatechange = checkStatus2;
				xmlHttp.open("GET", "../usr1099/usr1099?usrId="+findUsrId, false);
				xmlHttp.send(null);

				if (xmlHttp.status == 200){
					var xml = xmlHttp.responseXML;
					var rootNodes = xml.getElementsByTagName("list");
					var rootNode = rootNodes[0];
					var json = JSONConvert(rootNode);

					if (json==null) {
						//(IEの時対策)
						return true;
					}else {
						var usrId = json.usrid;

						//存在チェック
						if(!usrId || usrId=="null"){
							//無し
							//mRsvSupplyCheckRackNo(btnCate); //出庫実行
							return true;
						}else{
							//有り
							//既に登録済みの従業員コードです。
							alert_Custom("<%=Message.getMessage("WRN00150")%>");

							return false;
						}

					}
				}
				return false;
			}

			//*************************************************
			//AJAX 部分(ユーザMから並び順の存在チェック)
			//*************************************************
			function UsrCheckSeq(btnCate){

				var findSeq = document.getElementById("seq").value;
				var findUsrId = document.getElementById("usrId").value;

				var xmlHttp;

				xmlHttp = new XMLHttpRequest();
				//xmlHttp.onreadystatechange = checkStatus2;
				xmlHttp.open("GET", "../mst5001/mst5001?seq="+findSeq+"&usrId="+findUsrId, false);
				xmlHttp.send(null);

				//if (xmlHttp.status == 200){
				if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
					var xml = xmlHttp.responseXML;
					var rootNodes = xml.getElementsByTagName("list");
					var rootNode = rootNodes[0];
					var json = JSONConvert(rootNode);

					if (json==null) {
						//(IEの時対策)
						return true;
					}else {
						var seqExitFlg = json.seqExitFlg;

						//存在チェック
						if(!seqExitFlg){
							//無し
							//orderBtnExe(btnCate); //出庫実行
							return true;
						}else{
							//有り
							alert_Custom("<%=Message.getMessage("WRN00090").replace("$1","並び順")%>");
							return false;
						}

					}
				}
				return false;
			}
			
			//*************************************************
			//AJAX 部分(ユーザMから並び順の上限チェック)
			//*************************************************
			function UsrUpperCheckSeq(btnCate){
				
				var xmlHttp;

				xmlHttp = new XMLHttpRequest();
				//xmlHttp.onreadystatechange = checkStatus2;
				xmlHttp.open("GET", "../mst5002/mst5002", false);
				xmlHttp.send(null);

				//if (xmlHttp.status == 200){
				if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
					var xml = xmlHttp.responseXML;
					var rootNodes = xml.getElementsByTagName("list");
					var rootNode = rootNodes[0];
					var json = JSONConvert(rootNode);

					if (json==null) {
						//(IEの時対策)
						return true;
					}else {
						var seqExitFlg = json.seqExitFlg;

						//存在チェック
						if(!seqExitFlg){
							//無し
							//orderBtnExe(btnCate); //出庫実行
							return true;
						}else{
							//有り
							alert_Custom("<%=Message.getMessage("WRN00170").replace("$1","並び順")%>");
							return false;
						}

					}
				}
				return false;
			}
				
			//*************************************************
			//AJAX 部分(画面オープン時と変更時のユーザMの更新日を比較)
			//※※編集時のみ※※
			//*************************************************
			function updateDtCheck(btnCate){

				var findUsrId = document.getElementById("usrId").value;

				var xmlHttp;

				xmlHttp = new XMLHttpRequest();
				xmlHttp.onreadystatechange = checkStatus2;
				xmlHttp.open("GET", "../usr1099/usr1099?usrId="+findUsrId, false);
				xmlHttp.send(null);

				function checkStatus2(){
					if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
						var xml = xmlHttp.responseXML;
						var rootNodes = xml.getElementsByTagName("list");
						var rootNode = rootNodes[0];
						var json = JSONConvert(rootNode);
						if (json==null) {
						}else {
							var usrUpdateDt = json.updatedt;
							var confirmUdateDt = document.getElementById("updateDt_hid").value;

							//確定時と発注時の更新日を比較
							if(usrUpdateDt == confirmUdateDt){

								orderBtnExe(btnCate);

							}else{

								alert_Custom("<%=Message.getMessage("WRN01150").replace("$1", "ユーザーのマスタ情報").replace("$2", "ユーザー")%>");
								//ユーザーのマスタ情報が既に変更されています。変更を再度やり直して下さい。
								return;
							}

						}
					}
				}
			}

			function JSONConvert(node){
				var type = node.nodeType;
				if ( isTextNode(node) ){
					var text = getTextValue(node);
					return text;
				}
				if ( type==1 ){
					var json = {};
					var nodeName = node.nodeName;
					var childs = node.childNodes;

					for (var i = 0; i<childs.length; i++){
						var child = childs[i];
						var obj = json[child.nodeName];

						if ( child.nodeType == 1 ){
							if ( obj ){
								var array = null;
								if ( !isArray(obj) ){
									array=[];
									array[array.length]=obj;
								}else{
									array=json[child.nodeName];
								}
								array[array.length]=JSONConvert(child);
								json[child.nodeName]=array;
							}else{
								json[child.nodeName]=JSONConvert(child);
							}
						}
					}
					return json;
				}
			}

			function isTextNode(node){
				if ( node.hasChildNodes() ){
					var childs = node.childNodes;
					for (var i = 0; i<childs.length; i++){
						var child = childs[i];
						if ( child.nodeType != 3 ) return false;
					}
				}
				return true;
			}

			function getTextValue(node){
				if ( node.hasChildNodes() ){
					var childs = node.childNodes;
					var child = childs[0];
					if ( child.nodeType == 3 ){
						return child.nodeValue;
					}
				}
				return null;
			}
			//-------------------------------------------------------------------------
			//<!-- ポップアップ START -->

			//パップアップ解除
			function back(){
				document.getElementById("opAlertBtn").style.display = "none";
				document.getElementById("opAlert").style.display = "none";
				document.getElementById("opAlertButton").style.display = "none";
				document.getElementById("opAlertTop").style.display = "none";
				document.getElementById("allbackgr").style.display = "none";
			}

			//<!-- ポップアップ END -->
			//-------------------------------------------------------------------------
			</script>

	</head>

	<body onLoad="onInit()" style="margin: 0px 4px 0px 0px;">
		<form class="frmMain" name="main" id="F1"  action="./mst5000" method="post" enctype="multipart/form-data" onsubmit="return false;">
			<table class="tblMain" width="100%" cellspacing="0" cellpadding="0" border="0">
				<tr>
					<td valign="top">
						<table class='main-width-tb'  cellspacing='0' cellpadding='0' border='0'><tr><td></td></tr></table>
						<table class='main-height-tb' cellspacing='0' cellpadding='0' border='0'><tr><td></td></tr></table>

						<!-- Header Menu START -->
						<div class="header-title">予備品管理システム(<%=formBean.kojou%>)</div>
						<!-- Header Menu END -->

						<!-- ***** [FORM] MAIN-FORM ***** -->
						<div id="lc-out" style="z-index: 0;">
							<div id="lc-in" style="z-index: 0">

								<div class="txtcenter" style="margin: 20px ; width: 98%;">
									<div class="subtitle">ユーザー情報メンテナンス画面<%="1".equals(formBean.getOutputCate()) ? "(新規)" : "(変更)" %></div>
									<table  border="0" style="width: 80%;">
										<tr>
											<td>
												<table border="0" width=98%>
													<!-- スペース -->
													<tr height="40px"><td></td>	</tr>
													<tr>
														<td width="90px">
															従業員コード
														</td>
														<td width="200px">
															<%if("2".equals(strOutputCate)){ %>
																<input type="text" name="usrId" id="usrId" class="inputStyle ReadStyle" style="width:200px;" value="<%=formBean.getUsrId()%>" readonly>
															<%}else{ %>
																<input type="text" name="usrId" id="usrId" class="txtmode3" style="width:200px;" maxlength="20">
															<%} %>
														</td>

														<td colspan="2">
															<div style="color:red;<%if("1".equals(strOutputCate)){ %>display:none<%} %>">
															削除
															&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
															<input type="checkbox"  class="" name="delDiv" id="delDiv" value="1"<%=("1".equals(formBean.getDelDiv()) ? "checked":"") %>>
															</div>
														</td>
													</tr>
													<!-- スペース -->
													<tr height="20px"><td></td>	</tr>

													<tr>
														<td width="90px">
															従業員名
														</td>
														<td width="200px">
															<input type="text" class="txtmode1" name="usrNm" id="usrNm" style="width:650px;" value="<%=formBean.getUsrNm()%>" maxlength="50">
														</td>
														<td width="50">
															並び順
														</td>
														<td width="150">
															<input type="text" class="txtmode3" name="seq" id="seq" style="width:70px;" value="<%=formBean.getSeq()%>" maxlength="7" onchange="correctSeq()">
														</td>
													</tr>

													<tr height="20px"><td></td>	</tr>

													<tr>
														<td>
															パスワード
														</td>
														<td colspan="2">
															<input type="text" class="txtmode3" name="pwd" id="pwd" style="width:100px;" maxlength="32">
														</td>
													</tr>

													<tr height="20px"><td></td>	</tr>

													<tr>
														<td>
															組
														</td>
														<td colspan="2">
															<select name="class1" id="class1" class="selectStyle" style="width:160px;">
																<option value=''selected></option>
																<%
																Mst5000Bean.PullData[] inputKumiPullList = formBean.getInputKumiPullList();
																for (int i = 0; inputKumiPullList != null && i < inputKumiPullList.length; i++) {
																	Mst5000Bean.PullData data = inputKumiPullList[i];
																	if(data.key.equals(formBean.getClass1())){
																		data.selected = "selected";
																	}
																%>
																<option value='<%=data.key%>' <%=data.selected%> ><%=data.value%></option>
																<%}%>
															</select>
														</td>
													</tr>

													<tr height="20px"><td></td>	</tr>

													<tr>
														<td>
															区分
														</td>
														<td colspan="2">
															<select name="adminDiv" id="adminDiv" class="adminDiv" style="width:160px;">
															<option value="0" <%=("0".equals(formBean.getAdminDiv()))?"selected":"" %>>一般</option>
															<option value="1" <%=("1".equals(formBean.getAdminDiv()))?"selected":"" %>>管理者</option>
															</select>
														</td>
													</tr>

													<tr height="20px"><td></td>	</tr>

												</table>
												<table height="20px" width="98%" class="borderTop"><tr><td></td></tr></table>
												<table border="0" width=98%>

													<tr height="20px"><td></td>	</tr>

													<tr>
														<td class="txtright" colspan="2">
															<%if("2".equals(strOutputCate)){ %>
																<input type="image" src="../../common/img/pc/btn_update_off.png" onclick="updateBtn()" alt="変更">
															<%}else{ %>
																<input type="image" src="../../common/img/pc/btn_insert_off.png" onclick="insertBtn()" alt="登録">
															<%} %>

															&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
															<input type="image" src="../../common/img/pc/btn_back_off.png" onclick="screen_back()">
														</td>
													</tr>
												</table>
												<table height="140px" width="98%" ><tr><td></td></tr></table>
											</td>
										</tr>
									</table>
								</div>
							</div><!-- lc-in End -->


							<!-- ログ Start -->
							<!-- ログ End -->

						</div><!-- lc-out  -->
					</td>
				</tr>
			</table>

			<input type="hidden" name="cmd" value="cmd01">
			<input type="hidden" id="orderExe" name="orderExe" value="">
			<input type="hidden" id="updateExe" name="updateExe" value="">
			<input type="hidden" id="nextPage" name="nextPage" value="">
			<input type="hidden" id="outputCate" name="outputCate" value="<%=formBean.getOutputCate()%>">
			<input type="hidden" id="keyUsrId" name="keyUsrId" value="<%=formBean.getKeyUsrId()%>">
			<input type="hidden" id="updateDt_hid" name="updateDt_hid" value="<%=formBean.getUpdateDt_hid() %>">

			<!--警告 ポップアップ---------------------------------------------------------------------------- -->
			<div id="allbackgr" class="allbackgr" style="display:none;"></div>
			<div class="opAlertBtn" id = "opAlertBtn" style="display:none;" ></div>
			<div class="opAlertButton" id = "opAlertButton" style="display:none;" ></div>
			<div class="opAlertTop" id = "opAlertTop" style="display:none; font-size:22px;">　予備品管理システム　</div>
			<div class="opAlert" id = "opAlert" style="display:none;"></div>
			<!-- -------------------------------------------------------------------------------------------- -->
		</form>
	</body>
</html>
